
#ifndef BM_MODEL_H
#define BM_MODEL_H

#include "OBJ/BM_obj.h"
#include "MD2/BM_md2.h"

#define MOD_OBJ 1
#define MOD_MD2 2

// for now, only MD2 is supported

/*typedef struct Model_obj
{
    //OBJ_Model obj_model;
    BMOBJ * obj_object;
} Model_obj;

typedef struct Model_md2
{
    //MD2_Model md2_model;
    BMMD2 * md2_object;
} Model_md2;*/

/*typedef struct Model
{
    int mod_type; // one the definitions
    Model_obj obj;
    Model_md2 md2;
    float x, y, z;
} Model;*/

class BMModel
{
	protected:
        int mod_type; // one the definitions
	public:
        BMModel();
        int loadModel(char * path); // @param const char * the path to the model
        void drawModel(int Frames = 0);
        void moveModel(float in_x, float in_y, float in_z);
        void freeModel();
        void initModel(int type, float x, float y, float z);
        float getX();
        float getZ();
        float getY();

        BMOBJ * obj_object;
        BMMD2 * md2_object;
};

#endif // ndef MODEL_H
